home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / port / isc / install.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  1994-08-01  |  4KB  |  120 lines

  1. #! /bin/sh
  2. #    $Header: /usr/people/sam/fax/port/isc/RCS/install.sh,v 1.1 1994/04/10 04:59:44 sam Rel $
  3. #
  4. # FlexFAX Facsimile Software
  5. #
  6. # Copyright (c) 1990, 1991, 1992, 1993, 1994 Sam Leffler
  7. # Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
  8. # Permission to use, copy, modify, distribute, and sell this software and 
  9. # its documentation for any purpose is hereby granted without fee, provided
  10. # that (i) the above copyright notices and this permission notice appear in
  11. # all copies of the software and related documentation, and (ii) the names of
  12. # Sam Leffler and Silicon Graphics may not be used in any advertising or
  13. # publicity relating to the software without the specific, prior written
  14. # permission of Sam Leffler and Silicon Graphics.
  15. # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  16. # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  17. # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  18. # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  19. # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  20. # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  21. # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  22. # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  23. # OF THIS SOFTWARE.
  24. #
  25.  
  26. #
  27. # Shell script to emulate SGI install program under SCO ODT 2.0
  28. #
  29. preopts=
  30. postopts=
  31. SaveFirst=no
  32. HasSource=yes
  33. RemoveFirst=no
  34.  
  35. INSTALL="/etc/install"
  36. CMD="$INSTALL"
  37. SRC=
  38. FILES=
  39. DESTDIR=
  40. CHMOD=/bin/true
  41. CHOWN=/bin/true
  42. CHGRP=/bin/true
  43. RM="/bin/rm -f"
  44. ECHO=/bin/true
  45.  
  46. while [ -n "$1" ]
  47. do
  48.     arg=$1
  49.     case $arg in
  50.     -m)        shift; CHMOD="chmod $1";;
  51.     -u)        shift; CHOWN="chown $1";;
  52.     -g)        shift; CHGRP="chgrp $1";;
  53.     -o)        SaveFirst="yes";;
  54.     -O)        RemoveFirst="yes"; SaveFirst="yes";;
  55.     -root)    shift; ROOT=$1;;
  56.     -dir)    CMD="mkdir -p"; HasSource="no";;
  57.     -fifo)    CMD="mkfifo"; HasSource="no";;
  58.     -ln)    shift; CMD="ln"; SRC=$1;;
  59.     -lns)    shift; CMD="ln"; preopts="-s"; SRC=$1;;
  60.     -src)    shift; SRC=$1;;
  61.     -[fF])    shift; DESTDIR=$1;;
  62.     # these are skipped/not handled
  63.     -idb|-new|-rawidb|-blk|-chr) shift;;
  64.     -v)        ECHO="/bin/echo";;
  65.     -*)     ;;
  66.     *)        FILES="$FILES $arg";;
  67.     esac
  68.     shift
  69. done
  70. if [ $RemoveFirst = "yes" ]; then
  71.     for f in $FILES
  72.     do
  73.     bf=`basename $f`
  74.     if [ -f $ROOT/$DESTDIR/$bf ]; then
  75.         $ECHO "$RM $ROOT/$DESTDIR/$bf"
  76.         $RM $ROOT/$DESTDIR/$bf
  77.     fi
  78.     done
  79. fi
  80. if [ $SaveFirst = "yes" ]; then
  81.     for f in $FILES
  82.     do
  83.     bf=`basename $f`
  84.     if [ -f $ROOT/$DESTDIR/$bf ]; then
  85.         $ECHO "$MV $ROOT/$DESTDIR/$bf $ROOT/$DESTDIR/OLD$bf"
  86.         mv $ROOT/$DESTDIR/$bf $ROOT/$DESTDIR/OLD$bf
  87.     fi
  88.     done
  89. fi
  90. for f in $FILES
  91. do
  92.     $ECHO "$RM $ROOT/$DESTDIR/$f"
  93.     $RM $ROOT/$DESTDIR/$f
  94.     if [ "$SRC" = "" -a $HasSource = "yes" ]; then
  95.     if [ "$CMD" = "$INSTALL" ] ; then
  96.         $ECHO "$CMD -f $ROOT/$DESTDIR $f"
  97.         $CMD -f $ROOT/$DESTDIR $f 
  98.     else
  99.         $ECHO "$CMD $preopts $f $ROOT/$DESTDIR $postopts"
  100.         $CMD $preopts $f $ROOT/$DESTDIR $postopts
  101.     fi
  102.     else
  103.     if [ "$CMD" = "$INSTALL" ] ; then
  104.         $ECHO "$CMD -f $ROOT/$DESTDIR $SRC $ROOT/$DESTDIR/$f"
  105.         $CMD -f $ROOT/$DESTDIR $SRC $ROOT/$DESTDIR/$f
  106.         $ECHO "mv $ROOT/$DESTDIR/$SRC $ROOT/$DESTDIR/$f"
  107.         mv $ROOT/$DESTDIR/$SRC $ROOT/$DESTDIR/$f
  108.     else
  109.         $ECHO "$CMD $preopts $SRC $ROOT/$DESTDIR/$f $postopts"
  110.         $CMD $preopts $SRC $ROOT/$DESTDIR/$f $postopts
  111.     fi
  112.     fi
  113.     $ECHO "$CHOWN $ROOT/$DESTDIR/$f"; $CHOWN $ROOT/$DESTDIR/$f
  114.     $ECHO "$CHGRP $ROOT/$DESTDIR/$f"; $CHGRP $ROOT/$DESTDIR/$f
  115.     $ECHO "$CHMOD $ROOT/$DESTDIR/$f"; $CHMOD $ROOT/$DESTDIR/$f
  116. done
  117.